PyCSP - Communicating Sequential Processes for Python
نویسندگان
چکیده
The Python programming language is effective for rapidly writing programs and experimenting with them. It is increasingly being used in computational sciences, and in teaching computer science. CSP is effective for describing concurrency. It has become especially relevant with the emergence of commodity multi-core architectures. We are interested in exploring how a combination of Python and CSP can benefit both the computational sciences and the hands-on teaching of distributed and parallel computing in computer science. To make this possible, we have developed PyCSP, a CSP library for Python. PyCSP presently supports the core CSP abstractions. We introduce the PyCSP library, its implementation, a few performance benchmarks, and show example code using PyCSP. PyCSP has been used in the Extreme Multiprogramming Class at the CS department, university of Copenhagen with promising results.
منابع مشابه
PyCSP - controlled concurrency
Producing readable and correct programs while at the same time taking advantage of multi-core architectures is a challenge. PyCSP is an implementation of Communicating Sequential Processes algebra (CSP) for the Python programming language, taking advantage of CSP’s formal and verifiable approach to controlling concurrency and the readability of Python source code. We describe PyCSP, demonstrate...
متن کاملCsp for Executable Scientific Workflows
This thesis presents CSP as a means of orchestrating the execution of tasks in a scientific workflow. Scientific workflow systems are popular in a wide range of scientific areas, where tasks are organised in directed graphs. Execution of such graphs is handled by the scientific workflow systems and can usually benefit performance-wise from both multiprocessing, cluster and grid environments. Py...
متن کاملThree Unique Implementations of Processes for PyCSP
In this work we motivate and describe three unique implementations of processes for PyCSP: process, thread and greenlet based. The overall purpose is to demonstrate the feasibility of Communicating Sequential Processes as a framework for different application types and target platforms. The result is a set of three implementations of PyCSP with identical interfaces to the point where a PyCSP de...
متن کاملPyCSP Revisited
PyCSP was introduced two years ago and has since been used by a number of programmers, especially students. The original motivation behind PyCSP was a conviction that both Python and CSP are tools that are especially well suited for programmers and scientists in other fields than computer science. Working under this premise the original PyCSP was very similar to JCSP and the motivation was simp...
متن کاملAiaa - 2002 - 5410 Coordination Specification for Distributed Optimal System Design Using the Χ Language
Coordination plays a key role in solving decomposed optimal system design problems. Several coordination strategies have been proposed in the multidisciplinary optimization (MDO) literature. They are usually presented as a sequence of statements: the parallel nature of the multidisciplinary subproblems is often either not addressed or only briefly mentioned. However , a more formal description ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007